/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sharepas.nf;

import java.util.List;

/**
 *
 * @author yaiba
 */
public class UserImpl implements User {

    public static enum UserState{
        CONNECTED("connected"),DISCONNECTED("disconnected"), BUSY("busy");

        private String name ;

        private UserState(String name){
            this.name = name;
        }
        public String toString(){
            return this.name;
        }
    }

    private String name;

    // absolute path of picture
    private String avatar;

    //
    private String message;

    // state of user (connected,busy, disconnected...)
    private UserState state;

    // list of friends
    List<UserImpl> friends;

    public UserImpl(String name, String avatar, String message, List<UserImpl> friends){
        
    }

    /**
     * add a new file to a category of user library
     * @param filePath
     * @param category
     */
    public void addFile(String filePath, Category category){
        
    }

    /**
     * add a new diectory to a category of user library
     * @param directoryPath
     * @param category
     */
    public void addDirectory(String directoryPath, Category category){
        
    }


    /**
     * return list of ShareFile that correspond to categories specified and regular expression
     * @param category
     * @param name
     * @return
     */
    public List<ShareFile> getShareFile(List<Category> category, String regExp){
        return null;
    }


    /**
     *
     * @param f
     * @return
     */

    public int deleteFile(ShareFile f){
        return 0;
    }

    public int deleteDirectory(ShareFile d){
        return 0;
    }

    /**
     * save all user information , library ...
     */
    public void saveUser(){
        
    }
}
